devtools::install_github("tidyverse/dplyr")
Skipping install of 'dplyr' from a github remote, the SHA1 (55f41515) has not changed since last install.
  Use `force = TRUE` to force installation
library(dplyr)
content <- mget(ls("package:dplyr"), inherits = TRUE)
dplyr_functions <- Filter(is.function, content)
library(purrr)
function_names <- names(dplyr_functions)
l <- array(nchar(function_names))
dimnames(l) <- list(function_names)
sort(l,decreasing = TRUE)[1]
group_by_drop_default 
                   21 
name <- names(dplyr_functions)
df_num_char <-data.frame(function_names, num_char = map_dbl(name, ~nchar(.x)))%>%
  arrange(desc(num_char))
df_num_char
num_args <- map(dplyr_functions, formals) %>%
  map_dbl(length)%>%
  sort(decreasing = TRUE)
data.frame(num_args[1:10])
most_args <- num_args[1]
cat('"',names(most_args),'"', "has the most arguments !")
" sql_select " has the most arguments !
a <-map(dplyr_functions, formals)
b <-unlist(unname(a))
b
library(tidyverse)
library(tidyr)
library(dplyr)
library(WDI)
wdi_data <- WDI(indicator = c("NY.GDP.PCAP.PP.KD", "SP.DYN.IMRT.IN"), start = 1960, end = 2018, extra = TRUE)%>%
  filter(region != "Aggregates")%>%
  select(country, year, infmort = NY.GDP.PCAP.PP.KD, gdpcap = SP.DYN.IMRT.IN)
rownames(wdi_data) <- NULL
wdi_tidy <- na.omit(wdi_data)
wdi_tidy

#Present a list of countries with the 5 highest and the 5 lowest infant mortality rates in 2018 along with their GDP per capita in that year.

wdi_2018 <- subset(wdi_tidy, year == 2018) %>%
  arrange(desc(infmort))
wdi_2018
highest_infmort <- head(wdi_2018, 5)%>%
  arrange(desc(infmort))
lowest_infmort <-tail(wdi_2018,5)%>%
  arrange(infmort)
list_highest <- as.list(highest_infmort)
list_lowest <- as.list(lowest_infmort)
list_highest
$country
[1] "Qatar"             "Luxembourg"        "Singapore"         "Brunei Darussalam" "Ireland"          

$year
[1] 2018 2018 2018 2018 2018

$infmort
[1] 112531.53  93734.28  90091.42  71802.46  70855.33

$gdpcap
[1] 5.8 1.9 2.3 9.8 3.1
list_lowest
$country
[1] "Burundi"                  "Central African Republic" "Congo, Dem. Rep."         "Niger"                   
[5] "Liberia"                 

$year
[1] 2018 2018 2018 2018 2018

$infmort
[1]  660.2656  774.6877  827.1383  931.9875 1161.1779

$gdpcap
[1] 41.0 84.5 68.2 48.0 53.5
df = wdi_tidy
lm_fit <- lm(infmort ~ gdpcap, data=df)
ggplot(df, aes(x=gdpcap, y=infmort))+
  geom_point() +
  geom_line(data = fortify(lm_fit), aes(x = gdpcap, y = .fitted), color ='blue')+ labs(title=" PREDICTING INFANT MORTALITY FROM GDP PER CAPITA", x="GDP per capita", y="infant mortality")+ theme(plot.title = element_text(hjust = 0.5))

NA
NA
wdi_region <- WDI(indicator = c("NY.GDP.PCAP.PP.KD", "SP.DYN.IMRT.IN"), start = 1960, end = 2018, extra = TRUE)%>%
  select(country, year, infmort = NY.GDP.PCAP.PP.KD, gdpcap = SP.DYN.IMRT.IN, region)%>%
  na.omit()
wdi_region
NA
lm_region <- wdi_region %>% 
  split(wdi_region$region) %>%
  map(~ lm(infmort ~ gdpcap, data = .))

region_coef <- lm_region %>%
  map(~ coef(.)) %>%
  map_dbl("gdpcap")%>%
  sort()

region_coef_table <- data.frame(region_coef)
region_coef_table 
lm_country <- wdi_tidy %>% 
  split(wdi_tidy$country) %>%
  map(~ lm(infmort ~ gdpcap, data = .))

country_coef <- lm_country %>%
  map(~ coef(.)) %>%
  map_dbl("gdpcap")%>%
  sort()
country_coef 
                     Singapore                        Ireland                     Luxembourg                         Canada 
                 -1.243700e+04                  -7.861944e+03                  -7.759819e+03                  -6.839553e+03 
                       Iceland                  United States                         Sweden                         Norway 
                 -5.513617e+03                  -5.404976e+03                  -5.266013e+03                  -5.124981e+03 
                   Netherlands                    Switzerland                      Australia                        Finland 
                 -4.980408e+03                  -4.614474e+03                  -4.582314e+03                  -4.418423e+03 
                         Malta                 United Kingdom                        Germany                        Denmark 
                 -3.798592e+03                  -3.763059e+03                  -3.666466e+03                  -3.558144e+03 
                   New Zealand                        Austria                Slovak Republic                      Lithuania 
                 -3.223557e+03                  -3.216533e+03                  -2.893122e+03                  -2.590724e+03 
                       Belgium                         France                          Japan                    Korea, Rep. 
                 -2.546983e+03                  -2.539456e+03                  -2.525183e+03                  -2.390907e+03 
                         Spain                       Slovenia            Trinidad and Tobago                        Croatia 
                 -2.374691e+03                  -2.307626e+03                  -2.016656e+03                  -1.970718e+03 
                        Israel                        Estonia                 Czech Republic                          Nauru 
                 -1.767065e+03                  -1.762078e+03                  -1.731351e+03                  -1.676240e+03 
                      Malaysia                          Chile                          Qatar                         Cyprus 
                 -1.618425e+03                  -1.510527e+03                  -1.463326e+03                  -1.461375e+03 
                        Poland         Bosnia and Herzegovina                         Latvia                         Greece 
                 -1.460296e+03                  -1.456206e+03                  -1.414614e+03                  -1.394461e+03 
                     Mauritius                        Hungary                         Panama                        Belarus 
                 -1.279982e+03                  -1.226324e+03                  -1.209101e+03                  -1.190772e+03 
                    Costa Rica                       Bulgaria             Russian Federation                        Grenada 
                 -1.089680e+03                  -1.081756e+03                  -9.544681e+02                  -9.504324e+02 
                      Portugal                          Italy                         Serbia                     Seychelles 
                 -9.094512e+02                  -8.910981e+02                  -8.086025e+02                  -8.021058e+02 
                      Barbados                        Uruguay                        Romania            St. Kitts and Nevis 
                 -7.868587e+02                  -7.562306e+02                  -7.503252e+02                  -7.406502e+02 
St. Vincent and the Grenadines                      Sri Lanka              Equatorial Guinea                     Montenegro 
                 -6.860703e+02                  -6.612686e+02                  -5.599036e+02                  -5.376530e+02 
                          Iraq                      St. Lucia                          Palau                      Argentina 
                 -5.130564e+02                  -5.007045e+02                  -4.937594e+02                  -4.429717e+02 
                    Kazakhstan             Dominican Republic                       Thailand                          Tonga 
                 -4.274423e+02                  -4.267385e+02                  -4.145430e+02                  -3.974405e+02 
                  Turkmenistan                          China                       Colombia                       Botswana 
                 -3.630794e+02                  -3.581115e+02                  -3.470814e+02                  -3.337074e+02 
                       Albania            Antigua and Barbuda                           Oman              Brunei Darussalam 
                 -3.280437e+02                  -3.106691e+02                  -3.066337e+02                  -2.887445e+02 
                        Turkey                          Samoa                       Suriname                        Namibia 
                 -2.694611e+02                  -2.616643e+02                  -2.441062e+02                  -2.375403e+02 
                       Armenia             Iran, Islamic Rep.                        Ukraine                        Lebanon 
                 -2.369238e+02                  -2.362988e+02                  -2.346017e+02                  -2.302088e+02 
                    Azerbaijan                        Algeria                        Vietnam                         Guyana 
                 -2.299123e+02                  -2.292086e+02                  -2.174844e+02                  -2.079142e+02 
                   Philippines                        Bahrain                        Tunisia                       Paraguay 
                 -2.063244e+02                  -1.980232e+02                  -1.937270e+02                  -1.917175e+02 
                        Jordan                  Venezuela, RB                         Mexico                        Georgia 
                 -1.913865e+02                  -1.783833e+02                  -1.672808e+02                  -1.668809e+02 
                          Fiji                           Peru                        Moldova                     Cabo Verde 
                 -1.644247e+02                  -1.559564e+02                  -1.549407e+02                  -1.529318e+02 
                  Saudi Arabia                      Indonesia                         Belize                   South Africa 
                 -1.515344e+02                  -1.483047e+02                  -1.482938e+02                  -1.335456e+02 
                        Brazil                       Maldives                   Bahamas, The                        Myanmar 
                 -1.295499e+02                  -1.285233e+02                  -1.204517e+02                  -1.196724e+02 
              Egypt, Arab Rep.                    Timor-Leste                       Mongolia                         Bhutan 
                 -1.191684e+02                  -1.162673e+02                  -1.162422e+02                  -1.085543e+02 
                       Ecuador             West Bank and Gaza                        Morocco                     Uzbekistan 
                 -1.084334e+02                  -1.036684e+02                  -9.133725e+01                  -8.629242e+01 
                         India                    El Salvador                       Eswatini                        Lao PDR 
                 -7.899592e+01                  -7.268669e+01                  -6.814305e+01                  -6.802208e+01 
                         Sudan                      Guatemala               Marshall Islands                     Mauritania 
                 -6.774748e+01                  -6.322447e+01                  -6.198464e+01                  -5.845799e+01 
                     Nicaragua                        Nigeria                          Ghana                       Honduras 
                 -5.655818e+01                  -5.246669e+01                  -5.137593e+01                  -4.676180e+01 
                       Bolivia                         Tuvalu                        Vanuatu               Papua New Guinea 
                 -4.545605e+01                  -4.272888e+01                  -4.161261e+01                  -4.158538e+01 
                       Lesotho          Sao Tome and Principe                         Angola                       Cambodia 
                 -4.096850e+01                  -3.827486e+01                  -3.757125e+01                  -3.522502e+01 
                      Pakistan                     Bangladesh                           Chad                        Jamaica 
                 -3.393080e+01                  -2.992884e+01                  -2.805468e+01                  -2.780287e+01 
               Kyrgyz Republic                    Afghanistan                         Zambia                    Congo, Rep. 
                 -2.703086e+01                  -2.489538e+01                  -2.274825e+01                  -2.057945e+01 
                       Senegal                          Nepal                       Cameroon                       Tanzania 
                 -2.052239e+01                  -1.908705e+01                  -1.900302e+01                  -1.886675e+01 
                  Burkina Faso          Micronesia, Fed. Sts.                          Kenya                          Benin 
                 -1.594008e+01                  -1.500449e+01                  -1.496341e+01                  -1.401181e+01 
                        Uganda                     Tajikistan                       Ethiopia                           Mali 
                 -1.388002e+01                  -1.320065e+01                  -1.311110e+01                  -1.269084e+01 
                        Rwanda                         Guinea                     Mozambique                   Sierra Leone 
                 -1.143457e+01                  -8.560042e+00                  -7.678908e+00                  -6.754828e+00 
                          Togo                        Comoros                         Malawi                        Eritrea 
                 -6.249479e+00                  -3.944615e+00                  -3.742076e+00                  -3.019709e+00 
                 Cote d'Ivoire                    Gambia, The                       Kiribati                          Niger 
                 -2.330822e+00                  -2.118046e+00                  -1.140351e+00                  -7.926338e-01 
                      Zimbabwe                    Yemen, Rep.                        Liberia                     Madagascar 
                 -1.913295e-01                  -8.257832e-02                  -3.559894e-02                   1.557526e+00 
               Solomon Islands                        Burundi                  Guinea-Bissau               Congo, Dem. Rep. 
                  2.296919e+00                   2.705011e+00                   2.750045e+00                   3.226165e+00 
      Central African Republic                          Haiti                       Dominica                          Gabon 
                  4.468929e+00                   6.360582e+00                   1.345236e+02                   1.609640e+02 
                   South Sudan                          Libya                         Kuwait                     San Marino 
                  1.932442e+02                   3.767621e+02                   1.799370e+03                   2.701898e+03 
          United Arab Emirates 
                  7.269140e+03 
lm_country
$Afghanistan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     3095.5        -24.9  


$Albania

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      13616         -328  


$Algeria

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    18444.7       -229.2  


$Angola

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    8805.20       -37.57  


$`Antigua and Barbuda`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    24357.9       -310.7  


$Argentina

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      23287         -443  


$Armenia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    10737.6       -236.9  


$Australia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      59295        -4582  


$Austria

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      54307        -3217  


$Azerbaijan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    21292.8       -229.9  


$`Bahamas, The`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    31935.1       -120.5  


$Bahrain

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      44485         -198  


$Bangladesh

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    3849.89       -29.93  


$Barbados

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    26072.3       -786.9  


$Belarus

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      20517        -1191  


$Belgium

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      49807        -2547  


$Belize

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     9997.8       -148.3  


$Benin

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    2871.13       -14.01  


$Bhutan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    10572.1       -108.6  


$Bolivia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    7115.52       -45.46  


$`Bosnia and Herzegovina`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      19153        -1456  


$Botswana

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    25963.3       -333.7  


$Brazil

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    16114.4       -129.5  


$`Brunei Darussalam`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    84193.6       -288.7  


$Bulgaria

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      24832        -1082  


$`Burkina Faso`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    2495.21       -15.94  


$Burundi

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    558.085        2.705  


$`Cabo Verde`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     8756.6       -152.9  


$Cambodia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    4104.55       -35.23  


$Cameroon

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
       4254          -19  


$Canada

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      74102        -6840  


$`Central African Republic`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    389.154        4.469  


$Chad

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    4094.13       -28.05  


$Chile

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      30159        -1511  


$China

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    15281.2       -358.1  


$Colombia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    16763.6       -347.1  


$Comoros

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   2677.070       -3.945  


$`Congo, Dem. Rep.`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    434.406        3.226  


$`Congo, Rep.`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    6150.54       -20.58  


$`Costa Rica`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      22383        -1090  


$`Cote d'Ivoire`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   3165.578       -2.331  


$Croatia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      30409        -1971  


$Cyprus

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      37121        -1461  


$`Czech Republic`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      32675        -1731  


$Denmark

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      58001        -3558  


$Djibouti

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
       2744           NA  


$Dominica

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     6330.2        134.5  


$`Dominican Republic`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    23414.0       -426.7  


$Ecuador

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    11179.1       -108.4  


$`Egypt, Arab Rep.`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    12366.0       -119.2  


$`El Salvador`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    7717.89       -72.69  


$`Equatorial Guinea`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    73111.2       -559.9  


$Eritrea

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    2418.55        -3.02  


$Estonia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      32067        -1762  


$Eswatini

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   11617.23       -68.14  


$Ethiopia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    1900.02       -13.11  


$Fiji

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    10614.5       -164.4  


$Finland

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      49718        -4418  


$France

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      46036        -2539  


$Gabon

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
       9811          161  


$`Gambia, The`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   1562.044       -2.118  


$Georgia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     9764.5       -166.9  


$Germany

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      54046        -3666  


$Ghana

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    5657.20       -51.38  


$Greece

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      32408        -1394  


$Grenada

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    23209.8       -950.4  


$Guatemala

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    8662.52       -63.22  


$Guinea

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    2433.49        -8.56  


$`Guinea-Bissau`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    1257.64         2.75  


$Guyana

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    12411.1       -207.9  


$Haiti

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   1244.794        6.361  


$Honduras

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    4927.25       -46.76  


$Hungary

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      29694        -1226  


$Iceland

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      53630        -5514  


$India

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
       8231          -79  


$Indonesia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    12940.2       -148.3  


$`Iran, Islamic Rep.`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    20996.2       -236.3  


$Iraq

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    28020.8       -513.1  


$Ireland

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      80433        -7862  


$Israel

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      36480        -1767  


$Italy

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    39218.7       -891.1  


$Jamaica

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     8645.9        -27.8  


$Japan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      42456        -2525  


$Jordan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    11935.0       -191.4  


$Kazakhstan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    27964.5       -427.4  


$Kenya

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    3146.72       -14.96  


$Kiribati

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    1966.47        -1.14  


$`Korea, Rep.`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      38705        -2391  


$Kuwait

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      61319         1799  


$`Kyrgyz Republic`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    3567.31       -27.03  


$`Lao PDR`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    8041.29       -68.02  


$Latvia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      29293        -1415  


$Lebanon

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    14330.4       -230.2  


$Lesotho

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    5230.87       -40.97  


$Liberia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
  1140.6417      -0.0356  


$Libya

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    15585.9        376.8  


$Lithuania

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      36501        -2591  


$Luxembourg

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     110149        -7760  


$Madagascar

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   1321.807        1.558  


$Malawi

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   1240.819       -3.742  


$Malaysia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      32666        -1618  


$Maldives

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    13740.1       -128.5  


$Mali

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    2817.48       -12.69  


$Malta

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      51963        -3799  


$`Marshall Islands`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    5179.93       -61.98  


$Mauritania

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    6975.38       -58.46  


$Mauritius

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      33114        -1280  


$Mexico

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    19286.1       -167.3  


$`Micronesia, Fed. Sts.`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
       3669          -15  


$Moldova

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     7297.8       -154.9  


$Mongolia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    11479.5       -116.2  


$Montenegro

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    17290.0       -537.7  


$Morocco

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    8886.33       -91.34  


$Mozambique

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   1518.029       -7.679  


$Myanmar

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     9571.2       -119.7  


$Namibia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    17598.2       -237.5  


$Nauru

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      59529        -1676  


$Nepal

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    2789.91       -19.09  


$Netherlands

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      65326        -4980  


$`New Zealand`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      49392        -3224  


$Nicaragua

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    5281.68       -56.56  


$Niger

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   887.8879      -0.7926  


$Nigeria

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    9389.74       -52.47  


$Norway

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      76642        -5125  


$Oman

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    45299.6       -306.6  


$Pakistan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    6541.24       -33.93  


$Palau

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    25141.8       -493.8  


$Panama

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      37314        -1209  


$`Papua New Guinea`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    5072.05       -41.59  


$Paraguay

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    14000.6       -191.7  


$Peru

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      12496         -156  


$Philippines

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    10902.7       -206.3  


$Poland

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      29200        -1460  


$Portugal

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    29891.9       -909.5  


$Qatar

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     126626        -1463  


$Romania

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    26233.7       -750.3  


$`Russian Federation`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    31680.6       -954.5  


$Rwanda

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    2010.91       -11.43  


$Samoa

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     9530.7       -261.7  


$`San Marino`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      62483         2702  


$`Sao Tome and Principe`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    3886.41       -38.27  


$`Saudi Arabia`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    48379.4       -151.5  


$Senegal

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    3735.31       -20.52  


$Serbia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    18377.6       -808.6  


$Seychelles

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    29294.8       -802.1  


$`Sierra Leone`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   1999.911       -6.755  


$Singapore

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      98486       -12437  


$`Slovak Republic`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      41785        -2893  


$Slovenia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      34435        -2308  


$`Solomon Islands`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   1936.948        2.297  


$`South Africa`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    16438.1       -133.5  


$`South Sudan`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   -10172.7        193.2  


$Spain

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      40029        -2375  


$`Sri Lanka`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    15442.4       -661.3  


$`St. Kitts and Nevis`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    34711.0       -740.7  


$`St. Lucia`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    19155.7       -500.7  


$`St. Vincent and the Grenadines`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    21266.1       -686.1  


$Sudan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    7056.16       -67.75  


$Suriname

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    18615.3       -244.1  


$Sweden

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      56052        -5266  


$Switzerland

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      73378        -4614  


$Tajikistan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     2747.4        -13.2  


$Tanzania

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    3199.15       -18.87  


$Thailand

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    18323.5       -414.5  


$`Timor-Leste`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    13805.4       -116.3  


$Togo

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
   1692.753       -6.249  


$Tonga

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    10810.5       -397.4  


$`Trinidad and Tobago`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      68997        -2017  


$Tunisia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    13097.0       -193.7  


$Turkey

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    23694.5       -269.5  


$Turkmenistan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    29527.0       -363.1  


$Tuvalu

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    4317.68       -42.73  


$Uganda

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    2275.17       -13.88  


$Ukraine

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    10151.8       -234.6  


$`United Arab Emirates`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      19175         7269  


$`United Kingdom`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      53826        -3763  


$`United States`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
      84151        -5405  


$Uruguay

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    24379.6       -756.2  


$Uzbekistan

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    7257.23       -86.29  


$Vanuatu

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    3751.74       -41.61  


$`Venezuela, RB`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    19054.5       -178.4  


$Vietnam

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     8513.2       -217.5  


$`West Bank and Gaza`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
     6152.1       -103.7  


$`Yemen, Rep.`

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
 3750.02527     -0.08258  


$Zambia

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
    4457.25       -22.75  


$Zimbabwe

Call:
lm(formula = infmort ~ gdpcap, data = .)

Coefficients:
(Intercept)       gdpcap  
  2498.5926      -0.1913  
walk(country_coef, hist)

lm_country_2 <- wdi_tidy %>%
  mutate(squared_gdpcap = gdpcap**2)

r1 <-lm_country_2 %>%
  split(lm_country_2$country) %>%
  map(~ lm(infmort ~ gdpcap, data = .))%>%
  map(summary)%>%
  map("adj.r.squared")

r2 <-lm_country_2 %>%
  split(lm_country_2$country) %>%
  map(~ lm(infmort ~ gdpcap + squared_gdpcap, data = .))%>%
  map(summary)%>%
  map("adj.r.squared")

x1<-data.frame(r1)
x2<-data.frame(r2)
full_join(x1, x2)
Joining, by = c("Afghanistan", "Albania", "Algeria", "Angola", "Antigua.and.Barbuda", "Argentina", "Armenia", "Australia", "Austria", "Azerbaijan", "Bahamas..The", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bhutan", "Bolivia", "Bosnia.and.Herzegovina", "Botswana", "Brazil", "Brunei.Darussalam", "Bulgaria", "Burkina.Faso", "Burundi", "Cabo.Verde", "Cambodia", "Cameroon", "Canada", "Central.African.Republic", "Chad", "Chile", "China", "Colombia", "Comoros", "Congo..Dem..Rep.", "Congo..Rep.", "Costa.Rica", "Cote.d.Ivoire", "Croatia", "Cyprus", "Czech.Republic", "Denmark", "Djibouti", "Dominica", "Dominican.Republic", "Ecuador", "Egypt..Arab.Rep.", "El.Salvador", "Equatorial.Guinea", "Eritrea", "Estonia", "Eswatini", "Ethiopia", "Fiji", "Finland", "France", "Gabon", "Gambia..The", "Georgia", "Germany", "Ghana", "Greece", "Grenada", "Guatemala", "Guinea", "Guinea.Bissau", "Guyana", "Haiti", "Honduras", "Hungary", "Iceland", "India", "Indonesia", "Iran..Islamic.Rep.", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea..Rep.", "Kuwait", "Kyrgyz.Republic", "Lao.PDR", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Lithuania", "Luxembourg", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall.Islands", "Mauritania", "Mauritius", "Mexico", "Micronesia..Fed..Sts.", "Moldova", "Mongolia", "Montenegro", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "New.Zealand", "Nicaragua", "Niger", "Nigeria", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua.New.Guinea", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "Qatar", "Romania", "Russian.Federation", "Rwanda", "Samoa", "San.Marino", "Sao.Tome.and.Principe", "Saudi.Arabia", "Senegal", "Serbia", "Seychelles", "Sierra.Leone", "Singapore", "Slovak.Republic", "Slovenia", "Solomon.Islands", "South.Africa", "South.Sudan", "Spain", "Sri.Lanka", "St..Kitts.and.Nevis", "St..Lucia", "St..Vincent.and.the.Grenadines", "Sudan", "Suriname", "Sweden", "Switzerland", "Tajikistan", "Tanzania", "Thailand", "Timor.Leste", "Togo", "Tonga", "Trinidad.and.Tobago", "Tunisia", "Turkey", "Turkmenistan", "Tuvalu", "Uganda", "Ukraine", "United.Arab.Emirates", "United.Kingdom", "United.States", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela..RB", "Vietnam", "West.Bank.and.Gaza", "Yemen..Rep.", "Zambia", "Zimbabwe")

I recommend to keep the squared term since the adjusted R squared has been improved.

LS0tCnRpdGxlOiAiTW9kZXJuIERhdGEgU3RydWN0dXJlIEhXMDQiCmF1dGhvcjogIlh1ZXlpbmcgSHVhbmciCmRhdGU6ICcyMDE5LTEwLTEyJwpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIGhpZ2hsaWdodDogdGV4dG1hdGUKICAgIHRoZW1lOiBzcGFjZWxhYgogICAgdG9jOiB5ZXMKICBwZGZfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwogIHdvcmRfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwogIGh0bWxfbm90ZWJvb2s6CiAgICB0b2M6IHllcwphbHdheXNfYWxsb3dfaHRtbDogeWVzCi0tLQpgYGB7cn0KZGV2dG9vbHM6Omluc3RhbGxfZ2l0aHViKCJ0aWR5dmVyc2UvZHBseXIiKQpsaWJyYXJ5KGRwbHlyKQpjb250ZW50IDwtIG1nZXQobHMoInBhY2thZ2U6ZHBseXIiKSwgaW5oZXJpdHMgPSBUUlVFKQpkcGx5cl9mdW5jdGlvbnMgPC0gRmlsdGVyKGlzLmZ1bmN0aW9uLCBjb250ZW50KQoKCmBgYApgYGB7cn0KbGlicmFyeShwdXJycikKZnVuY3Rpb25fbmFtZXMgPC0gbmFtZXMoZHBseXJfZnVuY3Rpb25zKQpsIDwtIGFycmF5KG5jaGFyKGZ1bmN0aW9uX25hbWVzKSkKZGltbmFtZXMobCkgPC0gbGlzdChmdW5jdGlvbl9uYW1lcykKc29ydChsLGRlY3JlYXNpbmcgPSBUUlVFKVsxXQpgYGAKYGBge3J9Cm5hbWUgPC0gbmFtZXMoZHBseXJfZnVuY3Rpb25zKQpkZl9udW1fY2hhciA8LWRhdGEuZnJhbWUoZnVuY3Rpb25fbmFtZXMsIG51bV9jaGFyID0gbWFwX2RibChuYW1lLCB+bmNoYXIoLngpKSklPiUKICBhcnJhbmdlKGRlc2MobnVtX2NoYXIpKQpkZl9udW1fY2hhcgpgYGAKYGBge3J9Cm51bV9hcmdzIDwtIG1hcChkcGx5cl9mdW5jdGlvbnMsIGZvcm1hbHMpICU+JQogIG1hcF9kYmwobGVuZ3RoKSU+JQogIHNvcnQoZGVjcmVhc2luZyA9IFRSVUUpCmRhdGEuZnJhbWUobnVtX2FyZ3NbMToxMF0pCm1vc3RfYXJncyA8LSBudW1fYXJnc1sxXQpjYXQoJyInLG5hbWVzKG1vc3RfYXJncyksJyInLCAiaGFzIHRoZSBtb3N0IGFyZ3VtZW50cyAhIikKYGBgCmBgYHtyfQphIDwtbWFwKGRwbHlyX2Z1bmN0aW9ucywgZm9ybWFscykKYiA8LXVubGlzdCh1bm5hbWUoYSkpCmIKYGBgCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkodGlkeXIpCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkoV0RJKQp3ZGlfZGF0YSA8LSBXREkoaW5kaWNhdG9yID0gYygiTlkuR0RQLlBDQVAuUFAuS0QiLCAiU1AuRFlOLklNUlQuSU4iKSwgc3RhcnQgPSAxOTYwLCBlbmQgPSAyMDE4LCBleHRyYSA9IFRSVUUpJT4lCiAgZmlsdGVyKHJlZ2lvbiAhPSAiQWdncmVnYXRlcyIpJT4lCiAgc2VsZWN0KGNvdW50cnksIHllYXIsIGluZm1vcnQgPSBOWS5HRFAuUENBUC5QUC5LRCwgZ2RwY2FwID0gU1AuRFlOLklNUlQuSU4pCnJvd25hbWVzKHdkaV9kYXRhKSA8LSBOVUxMCndkaV90aWR5IDwtIG5hLm9taXQod2RpX2RhdGEpCndkaV90aWR5CmBgYAojUHJlc2VudCBhIGxpc3Qgb2YgY291bnRyaWVzIHdpdGggdGhlIDUgaGlnaGVzdCBhbmQgdGhlIDUgbG93ZXN0IGluZmFudCBtb3J0YWxpdHkgcmF0ZXMgaW4gMjAxOCBhbG9uZyB3aXRoIHRoZWlyIEdEUCBwZXIgY2FwaXRhIGluIHRoYXQgeWVhci4KYGBge3J9CndkaV8yMDE4IDwtIHN1YnNldCh3ZGlfdGlkeSwgeWVhciA9PSAyMDE4KSAlPiUKICBhcnJhbmdlKGRlc2MoaW5mbW9ydCkpCndkaV8yMDE4CmhpZ2hlc3RfaW5mbW9ydCA8LSBoZWFkKHdkaV8yMDE4LCA1KSU+JQogIGFycmFuZ2UoZGVzYyhpbmZtb3J0KSkKbG93ZXN0X2luZm1vcnQgPC10YWlsKHdkaV8yMDE4LDUpJT4lCiAgYXJyYW5nZShpbmZtb3J0KQpsaXN0X2hpZ2hlc3QgPC0gYXMubGlzdChoaWdoZXN0X2luZm1vcnQpCmxpc3RfbG93ZXN0IDwtIGFzLmxpc3QobG93ZXN0X2luZm1vcnQpCmxpc3RfaGlnaGVzdApsaXN0X2xvd2VzdApgYGAKYGBge3J9CmRmID0gd2RpX3RpZHkKbG1fZml0IDwtIGxtKGluZm1vcnQgfiBnZHBjYXAsIGRhdGE9ZGYpCmdncGxvdChkZiwgYWVzKHg9Z2RwY2FwLCB5PWluZm1vcnQpKSsKICBnZW9tX3BvaW50KCkgKwogIGdlb21fbGluZShkYXRhID0gZm9ydGlmeShsbV9maXQpLCBhZXMoeCA9IGdkcGNhcCwgeSA9IC5maXR0ZWQpLCBjb2xvciA9J2JsdWUnKSsgbGFicyh0aXRsZT0iIFBSRURJQ1RJTkcgSU5GQU5UIE1PUlRBTElUWSBGUk9NIEdEUCBQRVIgQ0FQSVRBIiwgeD0iR0RQIHBlciBjYXBpdGEiLCB5PSJpbmZhbnQgbW9ydGFsaXR5IikrIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUpKQoKCmBgYApgYGB7cn0Kd2RpX3JlZ2lvbiA8LSBXREkoaW5kaWNhdG9yID0gYygiTlkuR0RQLlBDQVAuUFAuS0QiLCAiU1AuRFlOLklNUlQuSU4iKSwgc3RhcnQgPSAxOTYwLCBlbmQgPSAyMDE4LCBleHRyYSA9IFRSVUUpJT4lCiAgc2VsZWN0KGNvdW50cnksIHllYXIsIGluZm1vcnQgPSBOWS5HRFAuUENBUC5QUC5LRCwgZ2RwY2FwID0gU1AuRFlOLklNUlQuSU4sIHJlZ2lvbiklPiUKICBuYS5vbWl0KCkKd2RpX3JlZ2lvbgoKYGBgCmBgYHtyfQpsbV9yZWdpb24gPC0gd2RpX3JlZ2lvbiAlPiUgCiAgc3BsaXQod2RpX3JlZ2lvbiRyZWdpb24pICU+JQogIG1hcCh+IGxtKGluZm1vcnQgfiBnZHBjYXAsIGRhdGEgPSAuKSkKCnJlZ2lvbl9jb2VmIDwtIGxtX3JlZ2lvbiAlPiUKICBtYXAofiBjb2VmKC4pKSAlPiUKICBtYXBfZGJsKCJnZHBjYXAiKSU+JQogIHNvcnQoKQoKcmVnaW9uX2NvZWZfdGFibGUgPC0gZGF0YS5mcmFtZShyZWdpb25fY29lZikKcmVnaW9uX2NvZWZfdGFibGUgCmBgYAoKYGBge3J9CmxtX2NvdW50cnkgPC0gd2RpX3RpZHkgJT4lIAogIHNwbGl0KHdkaV90aWR5JGNvdW50cnkpICU+JQogIG1hcCh+IGxtKGluZm1vcnQgfiBnZHBjYXAsIGRhdGEgPSAuKSkKCmNvdW50cnlfY29lZiA8LSBsbV9jb3VudHJ5ICU+JQogIG1hcCh+IGNvZWYoLikpICU+JQogIG1hcF9kYmwoImdkcGNhcCIpJT4lCiAgc29ydCgpCmNvdW50cnlfY29lZiAKbG1fY291bnRyeQoKd2Fsayhjb3VudHJ5X2NvZWYsIGhpc3QpCmBgYAoKYGBge3J9CmxtX2NvdW50cnlfMiA8LSB3ZGlfdGlkeSAlPiUKICBtdXRhdGUoc3F1YXJlZF9nZHBjYXAgPSBnZHBjYXAqKjIpCgpyMSA8LWxtX2NvdW50cnlfMiAlPiUKICBzcGxpdChsbV9jb3VudHJ5XzIkY291bnRyeSkgJT4lCiAgbWFwKH4gbG0oaW5mbW9ydCB+IGdkcGNhcCwgZGF0YSA9IC4pKSU+JQogIG1hcChzdW1tYXJ5KSU+JQogIG1hcCgiYWRqLnIuc3F1YXJlZCIpCgpyMiA8LWxtX2NvdW50cnlfMiAlPiUKICBzcGxpdChsbV9jb3VudHJ5XzIkY291bnRyeSkgJT4lCiAgbWFwKH4gbG0oaW5mbW9ydCB+IGdkcGNhcCArIHNxdWFyZWRfZ2RwY2FwLCBkYXRhID0gLikpJT4lCiAgbWFwKHN1bW1hcnkpJT4lCiAgbWFwKCJhZGouci5zcXVhcmVkIikKCngxPC1kYXRhLmZyYW1lKHIxKQp4MjwtZGF0YS5mcmFtZShyMikKZnVsbF9qb2luKHgxLCB4MikKYGBgCiBJIHJlY29tbWVuZCB0byBrZWVwIHRoZSBzcXVhcmVkIHRlcm0gc2luY2UgdGhlIGFkanVzdGVkIFIgc3F1YXJlZCBoYXMgYmVlbiBpbXByb3ZlZC4K